With development of communications technologies, data and information transmission through a network has become an important manner for people to communicate information, and a data transmission scale is increasingly large. In an application process of a service such as large-scale data transmission or reliable broadcast/multicast, a blocking problem usually occurs in data transmission.
In the prior art, in common mobile communications networks such as a Long Term Evolution (Long Term Evolution, LTE for short), a Universal Mobile Telecommunications System (Universal Mobile Telecommunications System, UMTS for short), a short-range wireless communications technology Wi-Fi, and Bluetooth, the data transmission blocking problem is usually resolved by using a fountain code encoding method. In a fountain code encoding manner, a transmit end may combine multiple data packets that need to be sent to a receive end, then split the multiple data packets to obtain multiple equal-length original data packets, and encode the equal-length original data packets to obtain encoded data packets. Generally, a quantity of the encoded data packets is greater than a quantity of the original data packets. In this case, as long as a proper encoding codebook is selected, it can be ensured that the receive end can restore the original data packets in a case in which the receive end fails to receive all of the encoded data packets (but a quantity of encoded data packets that are correctly received needs to be at least greater than or equal to the quantity of the original data packets). In the prior art, a fountain code technology may be applied to an LTE network to transmit a user-plane data packet, for example, applied to a PDCP layer, an RLC layer, or a MAC layer, but cannot resolve a handover scenario problem.